package com.example.mall.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Date;

import java.io.Serializable;

/**
 * <p>
 * 物流单表
 * </p>
 *
 * @author whale
 * @since 2025-05-16
 */
@TableName("tb_logistics_orders")
public class LogisticsOrders extends Model<LogisticsOrders> {

    private static final long serialVersionUID = 1L;

    /**
     * 物流单唯一标识
     */
    @TableId("logistics_id")
    private Long logisticsId;
    /**
     * 订单ID（关联订单主表）
     */
    @TableField("order_id")
    private Long orderId;
    /**
     * 物流公司ID（关联物流公司表）
     */
    @TableField("company_id")
    private Long companyId;
    /**
     * 物流单号
     */
    @TableField("tracking_number")
    private String trackingNumber;
    /**
     * 物流状态（0：待发货，1：运输中，2：已签收，3：异常）
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;


    public Long getLogisticsId() {
        return logisticsId;
    }

    public void setLogisticsId(Long logisticsId) {
        this.logisticsId = logisticsId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public String getTrackingNumber() {
        return trackingNumber;
    }

    public void setTrackingNumber(String trackingNumber) {
        this.trackingNumber = trackingNumber;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }



    @Override
    public String toString() {
        return "LogisticsOrders{" +
        ", logisticsId=" + logisticsId +
        ", orderId=" + orderId +
        ", companyId=" + companyId +
        ", trackingNumber=" + trackingNumber +
        ", status=" + status +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
